﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;

namespace Infrastructure.Localization
{
    /// <summary>
    /// Enumeration of all CultureInfo Names using the DisplayStringAttribute to allow 
    /// developer to easily specify a culture from an enumeration.
    /// </summary>
    public enum Cultures
    {
        // ReSharper disable InconsistentNaming
#pragma warning disable 1591
        [Description("af-ZA")]
        Afrikaans,
        [Description("af-ZA")]
        Afrikaans_SouthAfrica,
        [Description("ar-SA")]
        Arabic,
        [Description("ar-AE")]
        Arabic_Uae,
        [Description("ar-BH")]
        Arabic_Bahrain,
        [Description("ar-DZ")]
        Arabic_Algeria,
        [Description("ar-EG")]
        Arabic_Egypt,
        [Description("ar-IQ")]
        Arabic_Iraq,
        [Description("ar-JO")]
        Arabic_Jordan,
        [Description("ar-KW")]
        Arabic_Kuwait,
        [Description("ar-LB")]
        Arabic_Lebanon,
        [Description("ar-LY")]
        Arabic_Libya,
        [Description("ar-MA")]
        Arabic_Morocco,
        [Description("ar-OM")]
        Arabic_Oman,
        [Description("ar-QA")]
        Arabic_Qatar,
        [Description("ar-SA")]
        Arabic_SaudiArabia,
        [Description("ar-SY")]
        Arabic_Syria,
        [Description("ar-TN")]
        Arabic_Tunisia,
        [Description("ar-YE")]
        Arabic_Yemen,
        [Description("az-Latn-AZ")]
        Azeri,
        [Description("az-Cyrl-AZ")]
        Azeri_Cyrillic_Azerbaijan,
        [Description("az-Latn-AZ")]
        Azeri_Latin_Azerbaijan,
        [Description("be-BY")]
        Belarusian,
        [Description("be-BY")]
        Belarusian_Belarus,
        [Description("bg-BG")]
        Bulgarian,
        [Description("bg-BG")]
        Bulgarian_Bulgaria,
        [Description("bs-Latn-BA")]
        Bosnian_Bosnia_and_Herzegovina,
        [Description("ca-ES")]
        Catalan,
        [Description("ca-ES")]
        Catalan_Catalan,
        [Description("cs-CZ")]
        Czech,
        [Description("cs-CZ")]
        Czech_CzechRepublic,
        [Description("cy-GB")]
        Welsh_UnitedKingdom,
        [Description("da-DK")]
        Danish,
        [Description("da-DK")]
        Danish_Denmark,
        [Description("de-DE")]
        German,
        [Description("de-AT")]
        German_Austria,
        [Description("de-DE")]
        German_Germany,
        [Description("de-CH")]
        German_Switzerland,
        [Description("de-LI")]
        German_Liechtenstein,
        [Description("de-LU")]
        German_Luxembourg,
        [Description("dv-MV")]
        Divehi,
        [Description("dv-MV")]
        Divehi_Maldives,
        [Description("el-GR")]
        Greek,
        [Description("el-GR")]
        Greek_Greece,
        [Description("en-US")]
        English,
        [Description("en-029")]
        English_Caribbean,
        [Description("en-AU")]
        English_Australia,
        [Description("en-BZ")]
        English_Belize,
        [Description("en-CA")]
        English_Canada,
        [Description("en-GB")]
        English_UnitedKingdom,
        [Description("en-IE")]
        English_Ireland,
        [Description("en-JM")]
        English_Jamaica,
        [Description("en-NZ")]
        English_NewZealand,
        [Description("en-PH")]
        English_RepublicOfThePhilippines,
        [Description("en-TT")]
        English_Trinidad_and_Tobago,
        [Description("en-US")]
        English_UnitedStates,
        [Description("en-ZA")]
        English_SouthAfrica,
        [Description("en-ZW")]
        English_Zimbabwe,
        [Description("es-ES")]
        Spanish,
        [Description("es-AR")]
        Spanish_Argentina,
        [Description("es-BO")]
        Spanish_Bolivia,
        [Description("es-CL")]
        Spanish_Chile,
        [Description("es-CO")]
        Spanish_Colombia,
        [Description("es-CR")]
        Spanish_CostaRica,
        [Description("es-DO")]
        Spanish_DominicanRepublic,
        [Description("es-EC")]
        Spanish_Ecuador,
        [Description("es-ES")]
        Spanish_Spain,
        [Description("es-GT")]
        Spanish_Guatemala,
        [Description("es-HN")]
        Spanish_Honduras,
        [Description("es-MX")]
        Spanish_Mexico,
        [Description("es-NI")]
        Spanish_Nicaragua,
        [Description("es-PA")]
        Spanish_Panama,
        [Description("es-PE")]
        Spanish_Peru,
        [Description("es-PR")]
        Spanish_PuertoRico,
        [Description("es-PY")]
        Spanish_Paraguay,
        [Description("es-SV")]
        Spanish_ElSalvador,
        [Description("es-UY")]
        Spanish_Uruguay,
        [Description("es-VE")]
        Spanish_Venezuela,
        [Description("et-EE")]
        Estonian,
        [Description("et-EE")]
        Estonian_Estonia,
        [Description("eu-ES")]
        Basque,
        [Description("eu-ES")]
        Basque_Basque,
        [Description("fa-IR")]
        Persian,
        [Description("fa-IR")]
        Persian_Iran,
        [Description("fi-FI")]
        Finnish,
        [Description("fi-FI")]
        Finnish_Finland,
        [Description("fo-FO")]
        Faroese,
        [Description("fo-FO")]
        Faroese_FaroeIslands,
        [Description("fr-FR")]
        French,
        [Description("fr-BE")]
        French_Belgium,
        [Description("fr-CA")]
        French_Canada,
        [Description("fr-FR")]
        French_France,
        [Description("fr-CH")]
        French_Switzerland,
        [Description("fr-LU")]
        French_Luxembourg,
        [Description("fr-MC")]
        French_PrincipalityOfMonaco,
        [Description("gl-ES")]
        Galician,
        [Description("gl-ES")]
        Galician_Galician,
        [Description("gu-IN")]
        Gujarati,
        [Description("gu-IN")]
        Gujarati_India,
        [Description("he-IL")]
        Hebrew,
        [Description("he-IL")]
        Hebrew_Israel,
        [Description("hi-IN")]
        Hindi,
        [Description("hi-IN")]
        Hindi_India,
        [Description("hr-HR")]
        Croatian,
        [Description("hr-BA")]
        Croatian_Bosnia_and_Herzegovina,
        [Description("hr-HR")]
        Croatian_Croatia,
        [Description("hu-HU")]
        Hungarian,
        [Description("hu-HU")]
        Hungarian_Hungary,
        [Description("hy-AM")]
        Armenian,
        [Description("hy-AM")]
        Armenian_Armenia,
        [Description("id-ID")]
        Indonesian,
        [Description("id-ID")]
        Indonesian_Indonesia,
        [Description("is-IS")]
        Icelandic,
        [Description("is-IS")]
        Icelandic_Iceland,
        [Description("it-IT")]
        Italian,
        [Description("it-CH")]
        Italian_Switzerland,
        [Description("it-IT")]
        Italian_Italy,
        [Description("ja-JP")]
        Japanese,
        [Description("ja-JP")]
        Japanese_Japan,
        [Description("ka-GE")]
        Georgian,
        [Description("ka-GE")]
        Georgian_Georgia,
        [Description("kk-KZ")]
        Kazakh,
        [Description("kk-KZ")]
        Kazakh_Kazakhstan,
        [Description("kn-IN")]
        Kannada,
        [Description("kn-IN")]
        Kannada_India,
        [Description("ko-KR")]
        Korean,
        [Description("kok-IN")]
        Konkani,
        [Description("kok-IN")]
        Konkani_India,
        [Description("ko-KR")]
        Korean_Korea,
        [Description("ky-KG")]
        Kyrgyz,
        [Description("ky-KG")]
        Kyrgyz_Kyrgyzstan,
        [Description("lt-LT")]
        Lithuanian,
        [Description("lt-LT")]
        Lithuanian_Lithuania,
        [Description("lv-LV")]
        Latvian,
        [Description("lv-LV")]
        Latvian_Latvia,
        [Description("mi-NZ")]
        Maori_NewZealand,
        [Description("mk-MK")]
        Macedonian,
        [Description("mk-MK")]
        Macedonian_FormerYugoslavRepublicOfMacedonia,
        [Description("mn-MN")]
        Mongolian,
        [Description("mn-MN")]
        Mongolian_Cyrillic_Mongolia,
        [Description("mr-IN")]
        Marathi,
        [Description("mr-IN")]
        Marathi_India,
        [Description("ms-MY")]
        Malay,
        [Description("ms-BN")]
        Malay_Brunei_Darussalam,
        [Description("ms-MY")]
        Malay_Malaysia,
        [Description("mt-MT")]
        Maltese_Malta,
        [Description("nb-NO")]
        Norwegian_Bokmal_Norway,
        [Description("nl-NL")]
        Dutch,
        [Description("nl-BE")]
        Dutch_Belgium,
        [Description("nl-NL")]
        Dutch_Netherlands,
        [Description("nn-NO")]
        Norwegian_Nynorsk_Norway,
        [Description("nb-NO")]
        Norwegian,
        [Description("ns-ZA")]
        Northern_Sotho_SouthAfrica,
        [Description("pa-IN")]
        Punjabi,
        [Description("pa-IN")]
        Punjabi_India,
        [Description("pl-PL")]
        Polish,
        [Description("pl-PL")]
        Polish_Poland,
        [Description("pt-BR")]
        Portuguese,
        [Description("pt-BR")]
        Portuguese_Brazil,
        [Description("pt-PT")]
        Portuguese_Portugal,
        [Description("quz-BO")]
        Quechua_Bolivia,
        [Description("quz-EC")]
        Quechua_Ecuador,
        [Description("quz-PE")]
        Quechua_Peru,
        [Description("ro-RO")]
        Romanian,
        [Description("ro-RO")]
        Romanian_Romania,
        [Description("ru-RU")]
        Russian,
        [Description("ru-RU")]
        Russian_Russia,
        [Description("sa-IN")]
        Sanskrit,
        [Description("sa-IN")]
        Sanskrit_India,
        [Description("se-FI")]
        Sami_Northern_Finland,
        [Description("se-NO")]
        Sami_Northern_Norway,
        [Description("se-SE")]
        Sami_Northern_Sweden,
        [Description("sk-SK")]
        Slovak,
        [Description("sk-SK")]
        Slovak_Slovakia,
        [Description("sl-SI")]
        Slovenian,
        [Description("sl-SI")]
        Slovenian_Slovenia,
        [Description("sma-NO")]
        Sami_Southern_Norway,
        [Description("sma-SE")]
        Sami_Southern_Sweden,
        [Description("smj-NO")]
        Sami_Lule_Norway,
        [Description("smj-SE")]
        Sami_Lule_Sweden,
        [Description("smn-FI")]
        Sami_Inari_Finland,
        [Description("sms-FI")]
        Sami_Skolt_Finland,
        [Description("sq-AL")]
        Albanian,
        [Description("sq-AL")]
        Albanian_Albania,
        [Description("sr-Latn-CS")]
        Serbian,
        [Description("sr-Cyrl-BA")]
        Serbian_Cyrillic_BosniaAndHerzegovina,
        [Description("sr-Cyrl-CS")]
        Serbian_Cyrillic_Serbia,
        [Description("sr-Latn-BA")]
        Serbian_Latin_Bosnia_and_Herzegovina,
        [Description("sr-Latn-CS")]
        Serbian_Latin_Serbia,
        [Description("sv-SE")]
        Swedish,
        [Description("sv-FI")]
        Swedish_Finland,
        [Description("sv-SE")]
        Swedish_Sweden,
        [Description("sw-KE")]
        Kiswahili,
        [Description("sw-KE")]
        Kiswahili_Kenya,
        [Description("syr-SY")]
        Syriac,
        [Description("syr-SY")]
        Syriac_Syria,
        [Description("ta-IN")]
        Tamil,
        [Description("ta-IN")]
        Tamil_India,
        [Description("te-IN")]
        Telugu,
        [Description("te-IN")]
        Telugu_India,
        [Description("th-TH")]
        Thai,
        [Description("th-TH")]
        Thai_Thailand,
        [Description("tn-ZA")]
        Tswana_SouthAfrica,
        [Description("tr-TR")]
        Turkish,
        [Description("tr-TR")]
        Turkish_Turkey,
        [Description("tt-RU")]
        Tatar,
        [Description("tt-RU")]
        Tatar_Russia,
        [Description("uk-UA")]
        Ukrainian,
        [Description("uk-UA")]
        Ukrainian_Ukraine,
        [Description("ur-PK")]
        Urdu,
        [Description("ur-PK")]
        Urdu_IslamicRepublicOfPakistan,
        [Description("uz-Latn-UZ")]
        Uzbek,
        [Description("uz-Cyrl-UZ")]
        Uzbek_Cyrillic_Uzbekistan,
        [Description("uz-Latn-UZ")]
        Uzbek_Latin_Uzbekistan,
        [Description("vi-VN")]
        Vietnamese,
        [Description("vi-VN")]
        Vietnamese_Vietnam,
        [Description("xh-ZA")]
        Xhosa_SouthAfrica,
        [Description("zh-Hans")]
        Chinese_Simplified,
        [Description("zh-Hant")]
        Chinese_Traditional,
        [Description("zh-CN")]
        Chinese_PeoplesRepublicOfChina,
        [Description("zh-HK")]
        Chinese_HongKongSAR,
        [Description("zh-MO")]
        Chinese_MacaoSAR,
        [Description("zh-SG")]
        Chinese_Singapore,
        [Description("zh-TW")]
        Chinese_Taiwan,
        [Description("zu-ZA")]
        Zulu_SouthAfrica
        // ReSharper restore InconsistentNaming
#pragma warning restore 1591
    }
}
